/*
 * Copyright (c) 2018-2025 Tencent. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

namespace TencentCloud.Vod.V20180717.Models
{
    using Newtonsoft.Json;
    using System.Collections.Generic;
    using TencentCloud.Common;

    public class TaskStatData : AbstractModel
    {
        
        /// <summary>
        /// 任务类型。
        /// <li> Transcoding: 普通转码</li>
        /// <li> Transcoding-TESHD: 极速高清转码</li>
        /// <li> Editing: 视频编辑</li>
        /// <li> Editing-TESHD: 极速高清视频编辑</li>
        /// <li> AdaptiveBitrateStreaming: 自适应码流</li>
        /// <li> ContentAudit: 内容审核</li>
        /// <li> ContentRecognition: 内容识别</li>
        /// <li> RemoveWatermark: 去水印</li>
        /// <li> ExtractTraceWatermark: 提取水印</li>
        /// <li> AddTraceWatermark: 添加水印</li>
        /// <li> RebuildMedia: 音画质重生</li>
        /// <li> QualityInspect: 音画质检测</li>
        /// <li>Transcode: 转码，包含普通转码、极速高清和视频编辑（不推荐使用）</li>
        /// <li>VoiceTranslation: 语音翻译</li>
        /// <li>JITTranscoding: 即时转码</li>
        /// <li>VideoSnapshot: 视频截图</li>
        /// <li>JITEncryption: 即时加密</li>
        /// </summary>
        [JsonProperty("TaskType")]
        public string TaskType{ get; set; }

        /// <summary>
        /// 任务数统计数据概览，用量单位为秒。
        /// </summary>
        [JsonProperty("Summary")]
        public TaskStatDataItem[] Summary{ get; set; }

        /// <summary>
        /// 不同规格任务统计数据详情。
        /// 转码规格：
        /// <li>Remuxing: 转封装</li>
        /// <li>Audio: 音频转码</li>
        /// <li>Standard.H264.SD: H.264编码方式标清转码</li>
        /// <li>Standard.H264.HD: H.264编码方式高清转码</li>
        /// <li>Standard.H264.FHD: H.264编码方式全高清转码</li>
        /// <li>Standard.H264.2K: H.264编码方式2K转码</li>
        /// <li>Standard.H264.4K: H.264编码方式4K转码</li>
        /// <li>Standard.H265.SD: H.265编码方式标清转码</li>
        /// <li>Standard.H265.HD: H.265编码方式高清转码</li>
        /// <li>Standard.H265.FHD: H.265编码方式全高清转码</li>
        /// <li>Standard.H265.2K: H.265编码方式2K转码</li>
        /// <li>Standard.H265.4K: H.265编码方式4K转码</li>
        /// <li>TESHD-10.H264.SD: H.264编码方式标清极速高清转码</li>
        /// <li>TESHD-10.H264.HD: H.264编码方式高清极速高清转码</li>
        /// <li>TESHD-10.H264.FHD: H.264编码方式全高清极速高清转码</li>
        /// <li>TESHD-10.H264.2K: H.264编码方式2K极速高清转码</li>
        /// <li>TESHD-10.H264.4K: H.264编码方式4K极速高清转码</li>
        /// <li>TESHD-10.H265.SD: H.265编码方式标清极速高清转码</li>
        /// <li>TESHD-10.H265.HD: H.265编码方式高清极速高清转码</li>
        /// <li>TESHD-10.H265.FHD: H.265编码方式全高清极速高清转码</li>
        /// <li>TESHD-10.H265.2K: H.265编码方式2K极速高清转码</li>
        /// <li>TESHD-10.H265.4K: H.265编码方式4K极速高清转码</li>
        /// <li>Edit.Audio: 音频编辑</li>
        /// <li>Edit.H264.SD: H.264编码方式标清视频编辑</li>
        /// <li>Edit.H264.HD: H.264编码方式高清视频编辑</li>
        /// <li>Edit.H264.FHD: H.264编码方式全高清视频编辑</li>
        /// <li>Edit.H264.2K: H.264编码方式2K视频编辑</li>
        /// <li>Edit.H264.4K: H.264编码方式4K视频编辑</li>
        /// <li>Edit.H265.SD: H.265编码方式标清视频编辑</li>
        /// <li>Edit.H265.HD: H.265编码方式高清视频编辑</li>
        /// <li>Edit.H265.FHD: H.265编码方式全高清视频编辑</li>
        /// <li>Edit.H265.2K: H.265编码方式2K视频编辑</li>
        /// <li>Edit.H265.4K: H.265编码方式4K视频编辑</li>
        /// <li>Edit.TESHD-10.H264.SD: H.264编码方式标清极速高清视频编辑</li>
        /// <li>Edit.TESHD-10.H264.HD: H.264编码方式高清极速高清视频编辑</li>
        /// <li>Edit.TESHD-10.H264.FHD: H.264编码方式全高清极速高清视频编辑</li>
        /// <li>Edit.TESHD-10.H264.2K: H.264编码方式2K极速高清视频编辑</li>
        /// <li>Edit.TESHD-10.H264.4K: H.264编码方式4K极速高清视频编辑</li>
        /// <li>Edit.TESHD-10.H265.SD: H.265编码方式标清极速高清视频编辑</li>
        /// <li>Edit.TESHD-10.H265.HD: H.265编码方式高清极速高清视频编辑</li>
        /// <li>Edit.TESHD-10.H265.FHD: H.265编码方式全高清极速高清视频编辑</li>
        /// <li>Edit.TESHD-10.H265.2K: H.265编码方式2K极速高清视频编辑</li>
        /// <li>Edit.TESHD-10.H265.4K: H.265编码方式4K极速高清视频编辑</li>
        /// 去水印、音画质重生规格：
        /// <li>480P: 短边 ≤ 480px</li>
        /// <li>720P: 短边 ≤ 720px</li>
        /// <li>1080P: 短边 ≤ 1080px</li>
        /// <li>2K: 短边 ≤ 1440px</li>
        /// <li>4K: 短边 ≤ 2160px</li>
        /// <li>8K: 短边 ≤ 4320px</li>
        /// <li>Audio: 音频</li>
        /// 即时转码规格：
        /// <li>JITTranscoding.H264.SD: H.264编码方式标清即时转码</li>
        /// <li>JITTranscoding.H264.HD: H.264编码方式高清即时转码</li>
        /// <li>JITTranscoding.H264.FHD: H.264编码方式全高清即时转码</li>
        /// <li>JITTranscoding.H264.2K: H.264编码方式2K即时转码</li>
        /// <li>JITTranscoding.Audio: 音频即时转码</li>
        /// <li>JITTranscoding.Copy: 转封装即时转码</li>
        /// 视频截图规格：
        /// <li>SnapshotByTimeOffset: 时间点截图</li>
        /// <li>SampleSnapshot: 采样截图</li>
        /// <li>ImageSprite: 雪碧图</li>
        /// </summary>
        [JsonProperty("Details")]
        public SpecificationDataItem[] Details{ get; set; }


        /// <summary>
        /// For internal usage only. DO NOT USE IT.
        /// </summary>
        public override void ToMap(Dictionary<string, string> map, string prefix)
        {
            this.SetParamSimple(map, prefix + "TaskType", this.TaskType);
            this.SetParamArrayObj(map, prefix + "Summary.", this.Summary);
            this.SetParamArrayObj(map, prefix + "Details.", this.Details);
        }
    }
}

